package net.csiit.tools.fileserver.core.storage;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;

/**
 * @author adam
 * @date 2020-11-17
 */
public interface FileStorage {

    /**
     * 写文件
     * @param file
     * @return
     */
    String saveFile(File file) throws IOException;

    /**
     * 写文件
     * @param inputStream 输入流, 调用方需要关闭此输入流
     * @param fileType 文件类型  后缀名  即 doc  docx  jpg 等
     * @return
     */
    String saveFile(InputStream inputStream, String fileType) throws IOException;

    /**
     * 读取文件
     * @return 输入流  调用方负责关闭此输入流
     */
    InputStream readFile(String fileId) throws FileNotFoundException;

    /**
     * 删除文件
     * @param fileId
     * @return
     */
    boolean deleteFile(String fileId);
}
